Cross product enhanced subband block based harmonic transposition

ABSTRACT

The invention provides an efficient implementation of cross-product enhanced high-frequency reconstruction (HFR), wherein a new component at frequency QΩ+rΩ 0  is generated on the basis of existing components at Ω and Ω+Ω 0 . The invention provides a block-based harmonic transposition, wherein a time block of complex subband samples is processed with a common phase modification. Superposition of several modified samples has the net effect of limiting undesirable intermodulation products, thereby enabling a coarser frequency resolution and/or lower degree of oversampling to be used. In one embodiment, the invention further includes a window function suitable for use with block-based cross-product enhanced HFR. A hardware embodiment of the invention may include an analysis filter bank, a subband processing unit configurable by control data and a synthesis filter bank.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a continuation of Ser. No. 13/822,601, filed 12 Mar.2013, which is the U.S. national stage of International ApplicationPCT/EP2011/065318, filed 5 Sep. 2011, which in turn claims priority toU.S. Provisional Patent Application No. 61/383,441, filed 16 Sep. 2010and U.S. Provisional Patent Application No. 61/419,164, filed 2 Dec.2010, each of which are hereby incorporated by reference in theirentirety.

TECHNICAL FIELD

The present invention relates to audio source coding systems which makeuse of a harmonic transposition method for high-frequency reconstruction(HFR), to digital effect processors, such as exciters which generateharmonic distortion to add brightness to a processed signal, and to timestretchers which prolong a signal duration with maintained spectralcontent.

BACKGROUND OF THE INVENTION

In WO98/57436 the concept of transposition was established as a methodto recreate a high frequency band from a lower frequency band of anaudio signal. A substantial saving in bitrate can be obtained by usingthis concept in audio coding. In an HFR based audio coding system, a lowbandwidth signal is presented to a core waveform coder and the higherfrequencies are regenerated using transposition and additional sideinformation of very low bitrate describing the target spectral shape atthe decoder side. For low bitrates, where the bandwidth of the corecoded signal is narrow, it becomes increasingly important to recreate ahigh band with perceptually pleasant characteristics. The harmonictransposition defined in WO98/57436 performs very well for complexmusical material in a situation with low cross over frequency. Theprinciple of a harmonic transposition is that a sinusoid with frequencyω is mapped to a sinusoid with frequency Q_(φ)ω where Q_(φ)>1 is aninteger defining the order of the transposition. In contrast to this, asingle sideband modulation (SSB) based HFR maps a sinusoid withfrequency co to a sinusoid with frequency ω+Δω where Δω is a fixedfrequency shift. Given a core signal with low bandwidth, a dissonantringing artifact will result from the SSB transposition.

In order to reach the best possible audio quality, state of the art highquality harmonic HFR methods employ complex modulated filter banks withvery fine frequency resolution and a high degree of oversampling toreach the required audio quality. The fine resolution is necessary toavoid unwanted intermodulation distortion arising from the nonlineartreatment of sums of sinusoids. With sufficiently narrow subbands, thehigh quality methods aim at having at most one sinusoid in each subband.A high degree of oversampling in time is necessary to avoid alias typedistortion, and a certain degree of oversampling in frequency isnecessary to avoid pre-echoes for transient signals. The obviousdrawback is that the computational complexity becomes very high.

Another common drawback associated with harmonic transposers becomesapparent for signals with a prominent periodic structure. Such signalsare superimpositions of harmonically related sinusoids with frequenciesΩ, 2Ω, 3Ω, . . . , where Ω is the fundamental frequency. Upon harmonictransposition of order Q_(φ), the output sinusoids have frequenciesQ_(φ)Ω, 2Q_(φ)Ω, 3Q_(φ)Ω, . . . , which, in case of Q_(φ)>1, is only astrict subset of the desired full harmonic series. In terms of resultingaudio quality a “ghost” pitch corresponding to the transposedfundamental frequency Q_(φ)Ω will typically be perceived. Often theharmonic transposition results in a “metallic” sounding character of theencoded and decoded audio signal.

In WO2010/081892, which is incorporated herein by reference, the methodof cross products was developed to address the above ghost pitch problemin the case of high quality transposition. Given partial or transmittedfull information on the fundamental frequency value of the dominatingharmonic part of the signal to be transposed with higher fidelity, thenonlinear subband modifications are supplemented with nonlinearcombinations of at least two different analysis subbands, where thedistances between the analysis subband indices are related to thefundamental frequency. The result is to regenerate the missing partialsin the transposed output, which however happens at a considerablecomputational cost.

SUMMARY OF THE INVENTION

In view of the above shortcomings of available HFR methods, it is anobject of the present invention to provide a more efficientimplementation of cross-product enhanced HFR. In particular, it is anobject to provide such a method enabling a high-fidelity audioreproduction at a reduced computational effort compared to availabletechniques.

The present invention achieves at least one of these objects byproviding devices and methods as set forth in the independent claims.

In a first aspect, the invention provides a system configured togenerate a time stretched and/or frequency transposed signal from aninput signal. The system comprises:

-   -   an analysis filter bank configured to derive a number Y of        analysis subband signals from the input signal, wherein each        analysis subband signal comprises a plurality of complex-valued        analysis samples, each having a phase and a magnitude;    -   a subband processing unit configured to determine a synthesis        subband signal from the Y analysis subband signals using a        subband transposition factor Q and a subband stretch factor S,        at least one of Q and S being greater than one, wherein the        subband processing unit comprises:        -   a block extractor configured to:            -   i) form Y frames of L input samples, each frame being                extracted from said plurality of complex-valued analysis                samples in an analysis subband signal and the frame                length being L>1; and            -   ii) apply a block hop size of h samples to said                plurality of analysis samples, prior to forming a                subsequent frame of L input samples, thereby generating                a sequence of frames of input samples;        -   a nonlinear frame processing unit configured to generate, on            the basis of Y corresponding frames of input samples formed            by the block extractor, a frame of processed samples by            determining a phase and magnitude for each processed sample            of the frame, wherein, for at least one processed sample:            -   i) the phase of the processed sample is based on the                respective phases of the corresponding input sample in                each of the Y frames of input samples; and            -   ii) the magnitude of the processed sample is based on                the magnitude of the corresponding input sample in each                of the Y frames of input samples; and        -   an overlap and add unit configured to determine the            synthesis subband signal by overlapping and adding the            samples of a sequence of frames of processed samples; and    -   a synthesis filter bank configured to generate the time        stretched and/or frequency transposed signal from the synthesis        subband signal.

The system may be operable for any positive integer value of Y. However,it is operable at least for Y=2.

In a second aspect the invention provides method for generating atime-stretched and/or frequency-transposed signal from an input signal.The method comprises:

-   -   deriving a number Y≧2 of analysis subband signals from the input        signal, wherein each analysis subband signal comprises a        plurality of complex-valued analysis samples, each having a        phase and a magnitude;    -   forming Y frames of L input samples, each frame being extracted        from said plurality of complex-valued analysis samples in an        analysis subband signal and the frame length being L>1;    -   applying a block hop size of h samples to said plurality of        analysis samples, prior to deriving a subsequent frame of L        input samples, thereby generating a sequence of frames of input        samples;    -   generating, on the basis of Y corresponding frames of input        samples, a frame of processed samples by determining a phase and        a magnitude for each processed sample of the frame, wherein, for        at least one processed sample:        -   the phase of the processed sample is based on the respective            phases of the corresponding input sample in at least one of            the Y frames of input samples; and        -   the magnitude of the processed sample is based on the            magnitude of the corresponding input sample in each of the Y            frames of input samples;    -   determining the synthesis subband signal by overlapping and        adding the samples of a sequence of frames of processed samples;        and    -   generating the time stretched and/or frequency transposed signal        from the synthesis subband signal.

Here, Y is an arbitrary integer greater than one. The system accordingto the first aspect is operable to carry out the method at least forY=2.

A third aspect of the invention provides a computer program productincluding a computer readable medium (or data carrier) storing softwareinstructions for causing a programmable computer to execute the methodaccording to the second aspect.

The invention is based on the realization that the general concept ofcross-product enhanced HFR will provide improved results when the dataare processed arranged in blocks of complex subband samples. Inter alia,this makes it possible to apply a frame-wise phase offset to thesamples, which has been found to reduce intermodulation products in somesituations. It is further possible to apply a magnitude adjustment,which may lead to similar advantageous effects. The inventiveimplementation of cross-product enhanced HFR includes subband blockbased harmonic transposition, which may significantly reduceintermodulation products. Hence, a filter bank with a coarser frequencyresolution and/or a lower degree of oversampling (such as a QMF filterbank) can be used while preserving a high output quality. In subbandblock based processing, a time block of complex subband samples isprocessed with a common phase modification, and the superposition ofseveral modified samples to form an output subband sample has the neteffect of suppressing intermodulation products which would otherwiseoccur when the input subband signal consists of several sinusoids.Transposition based on block based subband processing has much lowercomputational complexity than high-resolution transposers and reachesalmost the same quality for many signals.

For the purpose of this disclosure, it is noted that in embodimentswhere Y≧2, the non-linear processing unit uses as input Y“corresponding” frames of input samples in the sense that the frames aresynchronous or near synchronous. E.g., the samples in the respectiveframes may relate to time intervals having a substantial time overlapbetween the frames. The term “corresponding” is also used with respectto samples to indicate that these are synchronous or approximately so.Further, the term “frame” will be used interchangeably with “block”.Consequently, the “block hop size” may be equal to the frame length(possibly adjusted with respect to downsampling if such is applied) ormay be smaller than the frame length (possibly adjusted with respect todownsampling if such is applied), in which case consecutive framesoverlap in the sense that an input sample may belong to more than oneframe. The system does not necessarily generate every processed samplein a frame by determining its phase and magnitude based on the phase andmagnitude of all Y corresponding frames of input samples; withoutdeparting from the invention, the system may generate the phase and/ormagnitude of some processed samples based on a smaller number ofcorresponding input samples, or based on one input sample only.

In one embodiment, the analysis filter bank is a quadrature mirrorfilter (QMF) bank or pseudo-QMF bank with any number of taps and points.It may for instance be a 64-point QMF bank. The analysis filter bank mayfurther be chosen from the class of windowed discrete Fourier transformsor a wavelet transforms. Advantageously, the synthesis filter bankmatches the analysis filter bank by being, respectively, an inverse QMFbank, an inverse pseudo-QMF bank etc. It is known that such filter banksmay have a relatively coarse frequency resolution and/or a relativelylow degree of oversampling. Unlike the prior art, the invention may beembodied using such relatively simpler components without necessarilysuffering from a decreased output quality; hence such embodimentsrepresent an economic advantage over the prior art.

In one embodiment, one or more of the following is true of the analysisfilter bank:

-   -   an analysis time stride is Δt_(A);    -   an analysis frequency spacing is Δf_(A);    -   the analysis filter bank includes N>1 analysis subbands indexed        by an analysis subband index n=0, . . . , N−1;    -   an analysis subband is associated with a frequency band of the        input signal.

In one embodiment, one or more of the following is true of the synthesisfilter bank:

-   -   a synthesis time stride is Δt_(S);    -   a synthesis frequency spacing is Δf_(S);    -   the synthesis filter bank includes M>1 synthesis subbands        indexed by a synthesis subband index m=0, . . . , M−1;    -   a synthesis subband is associated with a frequency band of the        time-stretched and/or frequency-transposed signal.

In one embodiment, the nonlinear frame processing unit is adapted toinput two frames (Y=2) in order to generate one frame of processedsamples, and the subband processing unit includes a cross processingcontrol unit for generating cross processing control data. By therebyspecifying the quantitative and/or qualitative characteristics of thesubband processing, the invention achieves flexibility and adaptability.The control data may specify subbands (e.g., identified by indices) thatdiffer in frequency by a fundamental frequency of the input signal. Inother words, the indices identifying the subbands may differ by aninteger approximating the ratio of such fundamental frequency divided bythe analysis frequency spacing. This will lead to a psychoacousticallypleasing output, as the new spectral components generated by theharmonic transposition will be compatible with the series of naturalharmonics.

In a further development of the preceding embodiment, the (input)analysis and (output) synthesis subband indices are chosen so as tosatisfy equation (16) below. A parameter σ appearing in this equationmakes it applicable to both oddly and evenly stacked filter banks. Whensubband indices obtained as an approximate (e.g., least squares)solution to equation (16), the new spectral component obtained byharmonic transposition will be likely to be compatible with the seriesof natural harmonics. Hence, the HFR will be likely to provide afaithful reconstruction of an original signal which has had itshigh-frequency content removed.

A further development of the preceding embodiment provides a way ofselecting parameter r appearing in equation (16) and representing theorder of the cross-product transposition. Given an output subband indexm, each value of the transposition order r will determine two analysissubband indices n₁, n₂. This further development assesses the magnitudesof the two subbands for a number of r options and selects that valuewhich maximizes the minimum of the two analysis subband magnitudes. Thisway of selecting indices may avoid the need to restore sufficientmagnitude by amplifying weak components of the input signal, which maylead to poor output quality. In this connection, the subband magnitudesmay be computed in a manner per se known, such as by the square root ofsquared input samples forming a frame (block) or part of a frame. Asubband magnitude may also be computed as a magnitude of a central ornear-central sample in a frame. Such a computation may provide a simpleyet adequate magnitude measure.

In a further development of the preceding embodiment, a synthesissubband may receive contributions from harmonic transposition instancesaccording to both direct processing and cross-product based processing.In this connection, decision criteria may be applied to determinewhether a particular possibility of regenerating a missing partial bycross-product based processing is to be used or not. For instance, thisfurther development may be adapted to refrain from using one crosssubband processing unit if one of the following conditions is fulfilled:

a) the ratio of the magnitude M_(S) of the direct source term analysissubband yielding the synthesis subband and the least magnitude M_(C) inan optimal pair of cross source terms yielding the synthesis subband isgreater than a predetermined constant;

b) the synthesis subband already receives a significant contributionfrom a direct processing unit;

c) a fundamental frequency Ω₀ is smaller than the analysis filter bankspacing Δf_(A).

In one embodiment, the invention includes downsampling (decimation) ofthe input signal. Indeed, one or more of the frames of input samples maybe determined by downsampling the complex-valued analysis samples in asubband, as may be effected by the block extractor.

In a further development of the preceding embodiment, the downsamplingfactors to be applied satisfy equation (15) below. Not both downsamplingfactors are allowed to be zero, as this corresponds to a trivial case.Equation (15) defines a relationship between the downsampling factorsD₁, D₂ with the subband stretch factor S and the subband transpositionfactor Q, and further with phase coefficients T₁, T₂ appearing in anexpression (13) for determining the phase of a processed sample. Thisensures a matching of the phase of the processed samples with the othercomponents of the input signal, to which the processed samples are to beadded.

In one embodiment, the frames of processed samples are windowed beforethey are overlapped and added together. A windowing unit may be adaptedto apply a finite-length window function to frames of processed samples.Suitable window functions are enumerated in the appended claims.

The inventor has realized that cross-product methods of the typedisclosed in WO2010/081892 are not entirely compatible with subbandblock based processing techniques from the outset. Although such amethod may be satisfactorily applied to one of the subband samples in ablock, it might lead to aliasing artifacts if it were extended in thestraightforward manner to the other samples of the block. To this end,one embodiment applies window functions comprising window samples whichadd up when weighted by complex weights and shifted by a hop size to asubstantially constant sequence. The hop size may be the product of theblock hop size h and the subband stretch factor S. The use of suchwindow functions reduces the impact of aliasing artifacts. Alternativelyor additionally, such window functions may also allow for other measuresfor reducing artifacts, such as phase rotations of processed samples.

Preferably, consecutive complex weights, which are applied for assessingthe condition on the window samples, differ only by a fixed phaserotation. Further preferably, said fixed phase rotation is proportionalto a fundamental frequency of the input signal. The phase rotation mayalso be proportional to the order of the cross-product transposition tobe applied and/or to the physical transposition parameter and/or to thedifference of the downsampling factors and/or to the analysis timestride. The phase rotation may be given by equation (21), at least in anapproximate sense.

In one embodiment, the present invention enables cross-product enhancedharmonic transposition by modifying the synthesis windowing in responseto a fundamental frequency parameter.

In one embodiment, successive frames of processed samples are added witha certain overlap. To achieve the suitable overlap, the frames ofprocessed frames are suitably shifted by a hop size which is the blockhop size h upscaled by the subband stretch factor S. Hence, if theoverlap of consecutive frames of input samples is L−h, then the overlapof consecutive frames of processed samples may be S(L−h).

In one embodiment, the system according to the invention is operable notonly to generate a processed sample on the basis of Y=2 input samples,but also on the basis of Y=1 sample only. Hence, the system mayregenerate missing partials not only by a cross-product based approach(such as by equation (13)) but also by a direct subband approach (suchas by equation (5) or (11)). Preferably, a control unit is configured tocontrol the operation of the system, including which approach is to beused to regenerate a particular missing partial.

In a further development of the preceding embodiment, the system isfurther adapted to generate a processed sample on the basis of more thanthree samples, i.e., for Y≧3. For instance, a processed sample may beobtained by multiple instances of cross-product based harmonictransposition may contribute to a processed sample, by multipleinstances of direct subband processing, or by a combination ofcross-product transposition and direct transposition. This option ofadapting the transposition method provides for a powerful and versatileHFR. Consequently, this embodiment is operable to carry out the methodaccording to the second aspect of the invention for Y=3, 4, 5 etc.

One embodiment is configured to determine a processed sample as acomplex number having a magnitude which is a mean value of therespective magnitudes of corresponding input samples. The mean value maybe a (weighted) arithmetic, (weighted) geometric or (weighted) harmonicmean of two or more input samples. In the case Y=2, the mean is based ontwo complex input samples. Preferably, the magnitude of the processedsample is a weighted geometric value. More preferably, the geometricvalue is weighted by parameters ρ and 1−ρ, as in equation (13). Here,the geometrical magnitude weighting parameter ρ is a real numberinversely proportional to the subband transposition factor Q. Theparameter ρ may further be inversely proportional to the stretch factorS.

In one embodiment, the system is adapted to determine a processed sampleas a complex number having a phase which is a linear combination ofrespective phases of corresponding input samples in the frames of inputsamples. In particular, the linear combination may comprise phasesrelating to two input samples (Y=2). The linear combination of twophases may apply integer non-zero coefficients, the sum of which isequal to the stretch factor S multiplied by the subband transpositionfactor Q. Optionally, the phase obtained by such linear combination isfurther adjusted by a fixed phase correction parameter. The phase of theprocessed sample may be given by equation (13).

In one embodiment, the block extractor (or an analogous step in a methodaccording to the invention) is adapted to interpolate two or moreanalysis samples from an analysis subband signal in order to obtain oneinput sample which will be included in a frame (block). Suchinterpolation may enable downmixing of the input signal by a non-integerfactor. The analysis samples to be interpolated may or may not beconsecutive.

In one embodiment, the configuration of the subband processing may becontrolled by control data provided from outside the unit effecting theprocessing. The control data may relate to momentary acoustic propertiesof the input signal. For instance, the system itself may include asection adapted to determine momentary acoustic properties of thesignal, such as the (dominant) fundamental frequency of the signal.Knowledge of the fundamental frequency provides a guidance in selectingthe analysis subbands from which the processed samples are to bederived. Suitably, the spacing of the analysis subbands is proportionalto such fundamental frequency of the input signal. As an alternative,the control data may also be provided from outside the system,preferably by being included in a coding format suitable fortransmission as a bit stream over a digital communication network. Inaddition to the control data, such coding format may include informationrelating to lower-frequency components of a signal (e.g., components atpos. 701 in FIG. 7). However, in the interest of bandwidth economy, theformat preferably does not include complete information relating tohigher-frequency components (pos. 702), which may be regenerated by theinvention. The invention may in particular provide a decoding systemwith a control data reception unit configured to receive such controldata, whether included in a received bit stream that also encodes theinput signal or received as a separate signal or bit stream.

One embodiment provides a technique for efficiently carrying outcomputations occasioned by the inventive method. To this end, a hardwareimplementation may include a pre-normalizer for rescaling the magnitudesof the corresponding input samples in some of the Y frames on which aframe of processed samples are to be based. After such rescaling, aprocessed sample can be computed as a (weighted) complex product ofrescaled and, possibly, non-rescaled input samples. An input sampleappearing as a rescaled factor in the product normally need not reappearas a non-rescaled factor. With the possible exception of the phasecorrection parameter θ, it is possible to evaluate equation (13) as aproduct of (possibly rescaled) complex input samples. This represents acomputational advantage in comparison with separate treatments of themagnitude and the phase of a processed sample.

In one embodiment, a system configured for the case Y=2 comprises twoblock extractors adapted to form one frame of input samples each, inparallel operation.

In a further development of the embodiments representing Y≧3, a systemmay comprise a plurality of subband processing units, each of which isconfigured to determine an intermediate synthesis subband signal using adifferent subband transposition factor and/or a different subbandstretch factor and/or transposition method differing by beingcross-product based or direct. The subband processing units may bearranged in parallel, for parallel operation. In this embodiment, thesystem may further comprise a merging unit arranged downstream of thesubband processing units and upstream of the synthesis filter bank. Themerging unit may be adapted to merge (e.g., by mixing together)corresponding intermediate synthesis subband signals to obtain thesynthesis subband signal. As already noted, the intermediate synthesissubband which are merged may have been obtained by both direct andcross-product based harmonic transposition. A system according to theembodiment may further comprise a core decoder for decoding a bit streaminto an input signal. It may also comprise a HFR processing unit adaptedto apply spectral band information, notably by performing spectralshaping. The operation of the HFR processing unit may be controlled byinformation encoded in the bit stream.

One embodiment provides HFR of multi-dimensional signals, e.g., in asystem for reproducing audio in a stereo format comprising Z channels,such as left, right, center, surround etc. In one possibleimplementation for processing an input signal with a plurality ofchannels, the processed samples of each channel are based on the samenumber of input samples although the stretch factor S and transpositionfactor Q for each band may vary between channels. To this end, theimplementation may comprise an analysis filter bank for producing Yanalysis subband signals from each channel, a subband processing unitfor generating Z subband signals and a synthesis filter bank forgenerating Z time stretched and/or frequency transposed signals whichform the output signal.

In variations to the preceding embodiment, the output signal maycomprise output channels that are based on different numbers of analysissubband signals. For instance, it may be advisable to devote a greateramount of computational resources to HFR of acoustically prominentchannels; e.g., channels to be reproduced by audio sources located infront a listener may be favored over surround or rear channels.

It is emphasized that the invention relates to all combinations of theabove features, even if these are recited in different claims.

BRIEF DESCRIPTION OF THE DRAWINGS

The present invention will now be described by way of illustrativeexamples, not limiting the scope or spirit of the invention, withreference to the accompanying drawings.

FIG. 1 illustrates the principle of subband block based harmonictransposition.

FIG. 2 illustrates the operation of nonlinear subband block processingwith one subband input.

FIG. 3 illustrates the operation of nonlinear subband block processingwith two subband inputs.

FIG. 4 illustrates the operation of cross product enhanced subband blockbased harmonic transposition.

FIG. 5 illustrates an example scenario for the application of subbandblock based transposition using several orders of transposition in a HFRenhanced audio codec.

FIG. 6 illustrates an example scenario for the operation of a multipleorder subband block based transposition applying a 64 band QMF analysisfilter bank.

FIGS. 7 and 8 illustrate experimental results of the described subbandblock based transposition method.

FIG. 9 shows a detail of the non-linear processing unit of FIG. 2,including a pre-normalizer and a multiplier.

DESCRIPTION OF PREFERRED EMBODIMENTS

The embodiments described below are merely illustrative for theprinciples of the present invention CROSS PRODUCT ENHANCED SUBBAND BLOCKBASED HARMONIC TRANSPOSITION. It is understood that modifications andvariations of the arrangements and the details described herein will beapparent to others skilled in the art. It is the intent, therefore, thatthe invention be limited only by the scope of the appended patent claimsand not by the specific details presented by way of description andexplanation of the embodiments herein.

FIG. 1 illustrates the principle of subband block based transposition,time stretch, or a combination of transposition and time stretch. Theinput time domain signal is fed to an analysis filter bank 101 whichprovides a multitude of complex valued subband signals. These are fed tothe subband processing unit 102, whose operation can be influenced bythe control data 104. Each output subband can either be obtained fromthe processing of one or from two input subbands, or even as asuperposition of the result of several such processed subbands. Themultitude of complex valued output subbands is fed to a synthesis filterbank 103, which in turn outputs the modified time domain signal. Theoptional control data 104 describes the configuration and parameters ofthe subband processing, which may be adapted to the signal to betransposed. For the case of cross product enhanced transposition, thisdata may carry information relating to a dominating fundamentalfrequency.

FIG. 2 illustrates the operation of nonlinear subband block processingwith one subband input. Given the target values of physical time stretchand transposition, and the physical parameters of the analysis andsynthesis filter banks 101 and 103, one deduces subband time stretch andtransposition parameters as well as a source subband index for eachtarget subband index. The aim of the subband block processing then is torealize the corresponding transposition, time stretch, or a combinationof transposition and time stretch of the complex valued source subbandsignal in order to produce the target subband signal.

A block extractor 201 samples a finite frame of samples from the complexvalued input signal. The frame is defined by an input pointer positionand the subband transposition factor. This frame undergoes nonlinearprocessing in processing section 202 and is subsequently windowed bywindows of finite and possibly variable length in windowing section 203.The resulting samples are added to previously output samples in anoverlap and add unit 204 where the output frame position is defined byan output pointer position. The input pointer is incremented by a fixedamount and the output pointer is incremented by the subband stretchfactor times the same amount. An iteration of this chain of operationswill produce an output signal with duration being the subband stretchfactor times the input subband signal duration, up to the length of thesynthesis window, and with complex frequencies transposed by the subbandtransposition factor. The control signal 104 may influence each of thethree sections 201, 202, 203.

FIG. 3 illustrates the operation of nonlinear subband block processingwith two subband inputs. Given the target values of physical timestretch and transposition, and the physical parameters of the analysisand synthesis filter banks 101 and 103, one deduces subband time stretchand transposition parameters as well as two source subband indices foreach target subband index. In case the nonlinear subband blockprocessing is to be used for creation of missing partials through crossproduct addition, the configuration of sections 301-1, 301-2, 302, 303,as well as the values of the two source subband indices, may depend onthe output 403 of a cross processing control unit 404. The aim of thesubband block processing is to realize the corresponding transposition,time stretch, or a combination of transposition and time stretch of thecombination of the two complex valued source subband signals in order toproduce the target subband signal. A first block extractor 301-1 samplesa finite time frame of samples from the first complex valued sourcesubband, and the second block extractor 301-2 samples a finite frame ofsamples from the second complex valued source subband. The frames aredefined by a common input pointer position and the subband transpositionfactor. The two frames undergo nonlinear processing in 302 and aresubsequently windowed by a finite length window in windowing section303. The overlap and add unit 204 may have a similar or identicalstructure to that shown in FIG. 2. An iteration of this chain ofoperations will produce an output signal with duration being the subbandstretch factor times the longest of the two input subband signals, (upto the length of the synthesis window). In case the two input subbandsignals carry the same frequencies, the output signal will have complexfrequencies transposed by the subband transposition factor. In the casethat the two subband signals carry different frequencies, the presentinvention teaches that the windowing 303 can be adapted to generate anoutput signal which has a target frequency suitable for the generationof missing partials in the transposed signal.

FIG. 4 illustrates the principle of cross product enhanced subband blockbased transposition, time stretch, or a combination of transposition andtime stretch. The direct subband processing unit 401 can be of the kindalready described with reference to FIG. 2 (section 202) or FIG. 3. Across subband processing unit 402 is also fed with the multitude ofcomplex valued subband signals, and its operation is influenced by thecross processing control data 403. The cross subband processing unit 402performs nonlinear subband block processing of the type with two subbandinputs described in FIG. 3, and the output target subbands are added tothose from the direct subband processing 401 in adder 405. The crossprocessing control data 403 may vary for each input pointer position andconsists of at least

-   -   a selected list of target subband indices;    -   a pair of source subband indices for each selected target        subband index; and    -   a finite length synthesis window.

A cross processing control unit 404 furnishes this cross processingcontrol data 403 given a portion of the control data 104 describing afundamental frequency and the multitude of complex valued subbandsignals output from the analysis filter bank 101. The control data 104may also carry other signal dependent configuration parameters whichinfluence the cross product processing.

In the following text, a description of principles of cross productenhanced subband block based time stretch and transposition will beoutlined with reference to FIGS. 1-4, and by adding appropriatemathematical terminology.

The two main configuration parameters of the overall harmonic transposerand/or time stretcher are

-   -   S_(φ): the desired physical time stretch factor; and    -   Q_(φ): the desired physical transposition factor.

The filter banks 101 and 103 can be of any complex exponential modulatedtype such as QMF or a windowed DFT or a wavelet transform. The analysisfilter bank 101 and the synthesis filter bank 103 can be evenly or oddlystacked in the modulation and can be defined from a wide range ofprototype filters and/or windows. While all these second order choicesaffect the details in the subsequent design such as phase correctionsand subband mapping management, the main system design parameters forthe subband processing can typically be derived from the two quotientsΔt_(S)/Δt_(A) and Δf_(S)/Δf_(A) of the following four filter bankparameters, all measured in physical units. In the above quotients,

-   -   Δt_(A) is the subband sample time step or time stride of the        analysis filter bank 101 (e.g. measured in seconds [s]);    -   Δf_(A) is the subband frequency spacing of the analysis filter        bank 101 (e.g. measured in Hertz [1/s]);    -   Δt_(S) is the subband sample time step or time stride of the        synthesis filter bank 103 (e.g. measured in seconds [s]); and    -   Δf_(S) is the subband frequency spacing of the synthesis filter        bank 103 (e.g. measured in Hertz [1/s]).

For the configuration of the subband processing unit 102, the followingparameters should be computed:

-   -   S: the subband stretch factor, i.e. the stretch factor which is        applied within the subband processing unit 102 as a ratio of        input and output samples in order to achieve an overall physical        time stretch of the time domain signal by S_(φ);    -   Q: the subband transposition factor, i.e. the transposition        factor which is applied within the subband processing unit 102        in order to achieve an overall physical frequency transposition        of the time domain signal by the factor Q_(φ); and    -   the correspondence between source and target subband indices,        wherein n denotes an index of an analysis subband entering the        subband processing unit 102, and m denotes an index of a        corresponding synthesis subband at the output of the subband        processing unit 102.

In order to determine the subband stretch factor S, it is observed thatan input signal to the analysis filter bank 101 of physical duration Dcorresponds to a number D/Δt_(A) of analysis subband samples at theinput to the subband processing unit 102. These D/Δt_(A) samples will bestretched to S·D/Δt_(A) samples by the subband processing unit 102 whichapplies the subband stretch factor S. At the output of the synthesisfilter bank 103 these S·D/Δt_(A) samples result in an output signalhaving a physical duration of Δt_(S)·S·D/Δt_(A). Since this latterduration should meet the specified value S_(φ)·D, i.e. since theduration of the time domain output signal should be time stretchedcompared to the time domain input signal by the physical time stretchfactor S_(φ), the following design rule is obtained:

$\begin{matrix}{S = {\frac{\Delta\; t_{A}}{\Delta\; t_{S}}{S_{\phi}.}}} & (1)\end{matrix}$

In order to determine the subband transposition factor Q which isapplied within the subband processing unit 102 in order to achieve aphysical transposition Q_(φ), it is observed that an input sinusoid tothe analysis filter bank 101 of physical frequency Ω will result in acomplex analysis subband signal with discrete time angular frequencyω=2πΩ·Δt_(A) and the main contribution occurs within the analysissubband with index n≈Ω/Δf_(A). An output sinusoid at the output of thesynthesis filter bank 103 of the desired transposed physical frequencyQ_(φ)·Ω will result from feeding the synthesis subband with indexm≈Q_(φ)·Ω/Δf_(S) with a complex subband signal of discrete angularfrequency 2πQ_(φ)·Ω·Δt_(S). In this context, care should be taken inorder to avoid the synthesis of aliased output frequencies differentfrom Q_(φ)·Ω. Typically this can be avoided by making appropriate secondorder choices as discussed, e.g. by selecting appropriate analysisand/or synthesis filter banks. The discrete frequency 2πQ_(φ)·Ω·Δt_(S)at the output of the subband processing unit 102 should correspond tothe discrete time frequency ω=2πΩ·Δt_(A) at the input of the subbandprocessing unit 102 multiplied by the subband transposition factor Q.I.e., by setting equal 2πQΩΔt_(A) and 2πQ_(φ)·Ω·Δt_(S), the followingrelation between the physical transposition factor Q_(φ) and the subbandtransposition factor Q may be determined:

$\begin{matrix}{Q = {\frac{\Delta\; t_{S}}{\Delta\; t_{A}}{Q_{\phi}.}}} & (2)\end{matrix}$

Likewise, the appropriate source or analysis subband index n of thesubband processing unit 102 for a given target or synthesis subbandindex m should obey

$\begin{matrix}{n \approx {{\frac{\Delta\; f_{S}}{\Delta\; f_{A}} \cdot \frac{1}{Q_{\phi}}}{m.}}} & (3)\end{matrix}$

In one embodiment, it holds that Δf_(S)/Δf_(A)=Q_(φ), i.e. the frequencyspacing of the synthesis filter bank 103 corresponds to the frequencyspacing of the analysis filter bank 101 multiplied by the physicaltransposition factor, and the one-to-one mapping of analysis tosynthesis subband index n=m can be applied. In other embodiments, thesubband index mapping may depend on the details of the filter bankparameters. In particular, if the fraction of the frequency spacing ofthe synthesis filter bank 103 and the analysis filter bank 101 isdifferent from the physical transposition factor Q_(φ), one or twosource subbands may be assigned to a given target subband. In the caseof two source subbands, it may be preferable to use two adjacent sourcesubbands with index n, n+1, respectively. That is, the first and secondsource subbands are given by either (n(m), n(m)+1) or (n(m)+1, n(m)).

The subband processing of FIG. 2 with a single source subband will nowbe described as a function of the subband processing parameters S and Q.Let x(k) be the input signal to the block extractor 201, and let h bethe input block stride. I.e., x(k) is a complex valued analysis subbandsignal of an analysis subband with index n. The block extracted by theblock extractor 201 can without loss of generality be considered to bedefined by the L=R₁+R₂ samplesx _(l)(k)=x(Qk+hl), k=−R ₁ , . . . R ₂−1,  (4)

wherein the integer l is a block counting index, L is the block lengthand R₁, R₂ are nonnegative integers. Note that for Q=1, the block isextracted from consecutive samples but for Q>1, a downsampling isperformed in such a manner that the input addresses are stretched out bythe factor Q. If Q is an integer this operation is typicallystraightforward to perform, whereas an interpolation method may berequired for non-integer values of Q. This statement is relevant alsofor non-integer values of the increment h, i.e. of the input blockstride. In an embodiment, short interpolation filters, e.g. filtershaving two filter taps, can be applied to the complex valued subbandsignal. For instance, if a sample at the fractional time index k+0.5 isrequired, a two tap interpolation of the form x(k+0.5)≈ax(k)+bx(k+1),where the coefficients a, b may be constants or may depend on a subbandindex (see, e.g., WO2004/097794 and WO2007/085275), may ensure asufficient quality.

An interesting special case of formula (4) is R₁=0, R₂=1 where theextracted block consists of a single sample, i.e. the block length isL=1.

With the polar representation of a complex number z=|z|exp(i∠z), wherein|z| is the magnitude of the complex number and ∠z is the phase of thecomplex number, the nonlinear processing unit 202 producing the outputframe y_(l) from the input frame x_(l) is advantageously defined by thephase modification factor T=SQ through

$\begin{matrix}{\begin{Bmatrix}{{\angle\;{y_{l}(k)}} = {{\left( {T - 1} \right)\angle\;{x_{l}(0)}} + {\angle\;{x_{l}(k)}} + \theta}} \\{{{y_{l}(k)}} = {{{x_{l}(0)}}^{\rho}{{x_{l}(k)}}^{1 - \rho}}}\end{Bmatrix},{k = {- R_{1}}},{{\ldots\mspace{14mu} R_{2}} - 1}} & (5)\end{matrix}$

where ρε[0,1] is a geometrical magnitude weighting parameter. The caseρ=0 corresponds to a pure phase modification of the extracted block. Aparticularly attractive value of the magnitude weighting is ρ=1−1/T forwhich a certain computational complexity relief is obtainedirrespectively of the block length L, and the resulting transientresponse is somewhat improved over the case ρ=0. The phase correctionparameter θ depends on the filter bank details and the source and targetsubband indices. In an embodiment, the phase correction parameter θ maybe determined experimentally by sweeping a set of input sinusoids.Furthermore, the phase correction parameter θ may be derived by studyingthe phase difference of adjacent target subband complex sinusoids or byoptimizing the performance for a Dirac pulse type of input signal.Finally, with a suitable design of the analysis and synthesis filterbanks 101 and 103, the phase correction parameter θ may be set to zero,or omitted. The phase modification factor T should be an integer suchthat the coefficients T−1 and 1 are integers in the linear combinationof phases in the first line of formula (5). With this assumption, i.e.with the assumption that the phase modification factor T is an integer,the result of the nonlinear modification is well defined even thoughphases are ambiguous by identification modulo 2π.

In words, formula (5) specifies that the phase of an output frame sampleis determined by offsetting the phase of a corresponding input framesample by a constant offset value. This constant offset value may dependon the modification factor T, which itself depends on the subbandstretch factor and/or the subband transposition factor. Furthermore, theconstant offset value may depend on the phase of a particular inputframe sample from the input frame. This particular input frame sample iskept fixed for the determination of the phase of all the output framesamples of a given block. In the case of formula (5), the phase of thecenter sample of the input frame is used as the phase of the particularinput frame sample.

The second line of formula (5) specifies that the magnitude of a sampleof the output frame may depend on the magnitude of the correspondingsample of the input frame. Furthermore, the magnitude of a sample of theoutput frame may depend on the magnitude of a particular input framesample. This particular input frame sample may be used for thedetermination of the magnitude of all the output frame samples. In thecase of formula (5), the center sample of the input frame is used as theparticular input frame sample. In an embodiment, the magnitude of asample of the output frame may correspond to the geometrical mean of themagnitude of the corresponding sample of the input frame and theparticular input frame sample.

In the windowing unit 203, a window w of length L is applied on theoutput frame, resulting in the windowed output framez _(l)(k)=w(k)y _(l)(k), k=R ₁ , . . . R ₂−1.  (6)

Finally, it is assumed that all frames are extended by zeros, and theoverlap and add operation 204 is defined by

$\begin{matrix}{{{z(k)} = {\sum\limits_{l}{z_{l}\left( {k - {S\; h\; l}} \right)}}},} & (7)\end{matrix}$

wherein it should be noted that the overlap and add unit 204 applies ablock stride of Sh, i.e., a time stride which is S times higher than theinput block stride h. Due to this difference in time strides of formula(4) and (7) the duration of the output signal z(k) is S times theduration of the input signal x(k), i.e., the synthesis subband signalhas been stretched by the subband stretch factor S compared to theanalysis subband signal. It should be noted that this observationtypically applies if the length L of the window is negligible incomparison to the signal duration.

For the case where a complex sinusoid is used as input to the subbandprocessing 102, i.e., an analysis subband signal corresponding to acomplex sinusoidx(k)=Cexp(iωk),  (8)

it may be determined by applying the formulas (4)-(7) that the output ofthe subband processing 102, i.e. the corresponding synthesis subbandsignal, is given by

$\begin{matrix}{{z(k)} = {{C}{\exp\left\lbrack {{\mathbb{i}}\left( {{T\;\angle\; C} + \theta + {Q\;\omega\; k}} \right)} \right\rbrack}{\sum\limits_{l}{{w\left( {k - {S\; h\; l}} \right)}.}}}} & (9)\end{matrix}$

independently of ρ. Hence, a complex sinusoid of discrete time frequencyω will be transformed into a complex sinusoid with discrete timefrequency Qω provided the synthesis window shifts with a stride of Shsum up to the same constant value K for all k,

$\begin{matrix}{{\sum\limits_{l}{w\left( {k - {S\; h\; l}} \right)}} = {K.}} & (10)\end{matrix}$

It is illustrative to consider the special case of pure transpositionwhere S=1 and T=Q. If the input block stride is h=1 and R₁=0, R₂=1, allthe above, i.e. notably formula (5), reduces to the pointwise or samplebased phase modification rule

$\begin{matrix}{\begin{Bmatrix}{{\angle\;{z(k)}} = {{T\;\angle\;{x(k)}} + \theta}} \\{{{z(k)}} = {{x(k)}}}\end{Bmatrix}.} & (11)\end{matrix}$

The subband processing unit 102 may use the control data 104 to setcertain processing parameters, e.g. the block length of the blockextractors.

In the following, the description of the subband processing will beextended to cover the case of FIG. 3 with two subband inputs. Letx⁽¹⁾(k) be the input subband signal to the first block extractor 301-1and let x⁽²⁾(k) be the input subband signal to the second blockextractor 301-2. Each extractor can use a different downsampling factor,leading to the extracted blocks

$\begin{matrix}{{{\begin{Bmatrix}{{x_{l}^{(1)}(k)} = {x^{(1)}\left( {{D_{1}k} + {h\; l}} \right)}} \\{{x_{l}^{(2)}(k)} = {x^{(2)}\left( {{D_{2}k} + {h\; l}} \right)}}\end{Bmatrix}k} = {- R_{1}}},{{\ldots\mspace{14mu} R_{2}} - 1.}} & (12)\end{matrix}$

The nonlinear processing 302 produces the output frame y_(l) and may bedefined by

$\begin{matrix}{\begin{Bmatrix}{{\angle\;{y_{l}(k)}} = {{T_{1}\angle\;{x_{l}^{(1)}(k)}} + {T_{2}\angle\;{x_{l}^{(2)}(k)}} + \theta}} \\{{{y_{l}(k)}} = {{{x_{l}^{(1)}(k)}}^{1 - \rho}{{x_{l}^{(2)}(k)}}^{\rho}}}\end{Bmatrix},} & (13)\end{matrix}$

the processing in 303 is again described by (6) and (7) and 204 isidentical to the overlap and add processing described in the context ofthe single input case.

The definition of the nonnegative real parameters D₁, D₂, ρ and thenonnegative integer parameters T₁, T₂ and the synthesis window w nowdepends on the desired operation mode. Note that if the same subband isfed to both inputs, x⁽¹⁾(k)=x⁽²⁾(k) and D₁=Q, D₂=0, T₁=1, T₂=T−1, theoperations in (12) and (13) reduce to those of (4) and (5) in the singleinput case.

In one embodiment, wherein the ratio of the frequency spacing Δf_(S) ofthe synthesis filter bank 103 and the frequency spacing Δf_(A) of theanalysis filter bank 101 is different from the desired physicaltransposition factor Q_(φ), it may be beneficial to determine thesamples of a synthesis subband with index m from two analysis subbandswith index n, n+1, respectively. For a given index m, the correspondingindex n may be given by the integer value obtained by truncating theanalysis index value n given by formula (3). One of the analysis subbandsignals, e.g., the analysis subband signal corresponding to index n, isfed into the first block extractor 301-1 and the other analysis subbandsignal, e.g. the one corresponding to index n+1, is fed into the secondblock extractor 301-2. Based on these two analysis subband signals asynthesis subband signal corresponding to index m is determined inaccordance with the processing outlined above. The assignment of theadjacent analysis subband signals to the two block extractors 301-1 and302-1 may be based on the remainder that is obtained when truncating theindex value of formula (3), i.e. the difference of the exact index valuegiven by formula (3) and the truncated integer value n obtained fromformula (3). If the remainder is greater than 0.5, then the analysissubband signal corresponding to index n may be assigned to the secondblock extractor 301-2, otherwise this analysis subband signal may beassigned to the first block extractor 301-1. In this operation mode, theparameters may be designed such that input subband signals sharing thesame complex frequency ω,

$\begin{matrix}{\begin{Bmatrix}{{x^{(1)}(k)} = {C_{1}{\exp\left( {{\mathbb{i}\omega}\; k} \right)}}} \\{{x^{(2)}(k)} = {C_{2}{\exp\left( {{\mathbb{i}\omega}\; k} \right)}}}\end{Bmatrix},} & (14)\end{matrix}$

lead to an output subband signal being a complex sinusoid with discretetime frequency Qω. It turns out that this happens if the followingrelations hold:

$\begin{matrix}{\begin{Bmatrix}{Q = {{T_{1}D_{1}} + {T_{2}D_{2}}}} \\{{SQ} = {T_{1} + T_{2}}}\end{Bmatrix}.} & (15)\end{matrix}$

For the operation mode of generating missing partials by means of crossproducts, the design criteria are different. Returning to the physicaltransposition parameter Q_(φ), the aim of a cross product addition is toproduce output at the frequencies Q_(φ)Ω+rΩ₀ for r=1, . . . , Q_(φ)−1given inputs at frequencies Ω and Ω+Ω₀, where Ω₀ is a fundamentalfrequency belonging to a dominant pitched component of the input signal.As described in WO2010/081892, the selective addition of those termswill result in a completion of the harmonic series and a significantreduction of the ghost pitch artifact.

A constructive algorithm for operating the cross processing control 404will now be outlined. Given a target output subband index m, theparameter r=1, . . . , Q_(φ)−1 and the fundamental frequency Ω₀, one candeduce appropriate source subband indices n₁ and n₂ by solving thefollowing system of equations in an approximate sense,

$\begin{matrix}{\begin{Bmatrix}{{m + \sigma} = \frac{{Q_{\phi}\Omega} + {r\;\Omega_{0}}}{\Delta\; f_{s}}} \\{{n_{1} + \sigma} = \frac{\Omega}{\Delta\; f_{A}}} \\{{n_{2} + \sigma} = \frac{\Omega + \Omega_{0}}{\Delta\; f_{A}}}\end{Bmatrix},} & (16)\end{matrix}$

where σ=½ for oddly stacked filter bank modulation (as typically usedfor QMF and MDCT filter banks) and σ=0 for evenly stacked filter bankmodulation (as typically used for FFT filter banks).

With the definitions

-   -   p=Ω₀/Δf_(A): the fundamental frequency measured in units of the        analysis filter bank frequency spacing;    -   F=Δf_(S)/Δf_(A): the quotient of synthesis to analysis subband        frequency spacing; and

$n^{f} = {\frac{{\left( {m + \sigma} \right)F} - {rp}}{Q_{\varphi}} - \sigma}$the real valued target for an integer valued lower source index,

an example of advantageous approximate solution to (16) is given byselecting n₁ as the integer closest to n^(f), and n₂ as the integerclosest to n^(f)+p.

If the fundamental frequency is smaller than the analysis filter bankspacing, that is if p<1, it may be advantageous to cancel the additionof a cross product.

As it is taught in WO2010/081892, a cross product should not be added toan output subband which already has a significant main contribution fromthe transposition without cross products. Moreover, at most one of casesr=1, . . . , Q_(φ)−1 should contribute to the cross product output.Here, these rules may be carried out by performing the following threesteps for each target output subband index m:

-   -   1. Compute the maximum M_(C) over all choices of r=1, . . . ,        Q_(φ)−1 of the minimum of the candidate source subband        magnitudes |x⁽¹⁾| and |x⁽²⁾| evaluated in (or from a        neighborhood of) the central time slot k=hl, wherein the source        subbands x⁽¹⁾ and x⁽²⁾ may be given by indices n₁ and n₂ as in        equation (16);    -   2. Compute the corresponding magnitude M_(S) for the direct        source term |x| obtained from a source subband with index

$n \approx {\frac{F}{Q_{\varphi}}m}$

-   -    (cf. eq. 3);    -   3. Activate the cross term from a winning choice for M_(C) in        point 1 above only if M_(C)>qM_(S), where q is a predetermined        threshold value.

Variations to this procedure may be desirable depending on theparticular system configuration parameters. One such variation is toreplace the hard thresholding of point 3 with softer rules depending onthe quotient M_(C)/M_(S). Another variation is to expand themaximization in point 1 to more than Q_(φ)−1 choices, for exampledefined by a finite list of candidate values for fundamental frequencymeasured in analysis frequency spacing units p. Yet another variation isto apply different measures of the subband magnitudes, such as themagnitude of a fixed sample, a maximal magnitude, an average magnitude,a magnitude in l^(p)-norm sense, etc.

The list of target source bands m selected for addition of a crossproduct together with the values of n₁ and n₂ constitutes a main part ofthe cross processing control data 403. What remains to be described isthe configuration parameters D₁, D₂, ρ, the nonnegative integerparameters T₁, T₂ appearing in the phase rotation (13) and the synthesiswindow w to be used in the cross subband processing 402. Inserting thesinusoidal model for the cross product situation leads to the followingsource subband signals:

$\begin{matrix}{\begin{Bmatrix}{{x^{(1)}(k)} = {C_{1}{\exp\left( {{\mathbb{i}\omega}\; k} \right)}}} \\{{x^{(2)}(k)} = {C_{2}{\exp\left( {{{\mathbb{i}}\left( {\omega + \omega_{0}} \right)}k} \right)}}}\end{Bmatrix},} & (17)\end{matrix}$

where ω=2πΩΔt_(A) and ω₀=2πΩ₀Δt_(A). Likewise, the desired outputsubband is of the formz(k)=C ₃exp[iQ(ω+rω ₀ /Q _(φ))k].  (18)

Computations reveal that this target output can be achieved if (15) isfulfilled jointly with

$\begin{matrix}{\frac{T_{2}}{T_{1} + T_{2}} = {\frac{r}{Q_{\varphi}}.}} & (19)\end{matrix}$

The conditions (15) and (19) are equivalent to

$\begin{matrix}{\begin{Bmatrix}{T_{1} = {\left( {Q_{\varphi} - r} \right)S_{\varphi}}} \\{T_{2} = {rS}_{\varphi}} \\{{{\left( {Q_{\varphi} - r} \right)D_{1}} + {rD}_{2}} = {Q_{\varphi}/S}}\end{Bmatrix},} & (20)\end{matrix}$

which defines the integer factors T₁, T₂ for the phase modification in(13) and provides some design freedom in setting the values ofdownsampling factors D₁, D₂. The magnitude weighting parameter may beadvantageously chosen to ρ=r/Q_(φ). As can be seen, these configurationparameters only depend on the fundamental frequency Ω₀ through theselection of r. However, for (18) to hold, a new condition on thesynthesis window w emerges, namely

$\begin{matrix}{\begin{Bmatrix}{{{\sum\limits_{l}\;{\overset{\sim}{w}\left( {k - {Shl}} \right)}} = K},{with}} \\{{{\overset{\sim}{w}({??})} = {{w({??})}{\exp\left( {{\mathbb{i}}\;\alpha\;{??}} \right)}}},} \\{\alpha = {2\;\pi\; p\frac{r\left( {Q_{\varphi} - r} \right)}{Q_{\varphi}}\left( {D_{2} - D_{1}} \right)\Delta\; t_{A}\Delta\; f_{A}S_{\varphi}}}\end{Bmatrix}.} & (21)\end{matrix}$

A synthesis window w which satisfies (21) either exactly orapproximately is to be provided as the last piece of cross processingcontrol data 403.

It is noted that the above algorithm for computing cross processingcontrol data 403 on the basis of input parameters, such as a targetoutput subband index m and a fundamental frequency Ω₀, is of a purelyexemplifying nature and as such does not limit the scope of theinvention. Variations of this disclosure within the skilled person'sknowledge and routine experimentation—e.g., a further subband blockbased processing method providing a signal (18) as output in response toinput signals (17)—fall entirely within the scope of the invention.

FIG. 5 illustrates an example scenario for the application of subbandblock based transposition using several orders of transposition in a HFRenhanced audio codec. A transmitted bit-stream is received at a coredecoder 501, which provides a low bandwidth decoded core signal at asampling frequency fs. The low bandwidth decoded core signal isresampled to the output sampling frequency 2fs by means of a complexmodulated 32 band QMF analysis bank 502 followed by a 64 band QMFsynthesis bank (Inverse QMF) 505. The two filter banks 502 and 505 sharethe same physical parameters Δt_(S)=Δt_(A) and Δf_(S)=Δf_(A), and theHFR processing unit 504 simply lets through the unmodified lowersubbands corresponding to the low bandwidth core signal. The highfrequency content of the output signal is obtained by feeding the highersubbands of the 64 band QMF synthesis bank 505 with the output bandsfrom a multiple transposer unit 503, subject to spectral shaping andmodification performed by a HFR processing unit 504. The multipletransposer 503 takes as input the decoded core signal and outputs amultitude of subband signals which represent the 64 QMF band analysis ofa superposition or combination of several transposed signal components.The objective is that if the HFR processing is bypassed, each componentcorresponds to an integer physical transposition without time stretch ofthe core signal (Q_(φ)=2, 3, . . . , and S_(φ)=1). In the inventivescenario, the transposer control signal 104 contains data describing afundamental frequency. This data can either be transmitted via thebitstream from the corresponding audio encoder, deduced by pitchdetection in the decoder, or obtained from a combination of transmittedand detected information.

FIG. 6 illustrates an example scenario for the operation of a multipleorder subband block based transposition applying a single 64 band QMFanalysis filter bank. Here three transposition orders Q_(φ)=2, 3, 4 areto be produced and delivered in the domain of a 64 band QMF

operating at output sampling rate 2fs. The merge unit 603 simply selectsand combines the relevant subbands from each transposition factor branchinto a single multitude of QMF subbands to be fed into the HFRprocessing unit. The objective is specifically that the processing chainof a 64 band QMF analysis 601, a subband processing unit 602-Q_(φ), anda 64 band QMF synthesis 505 results in a physical transposition of Q_(φ)with S_(φ)=1 (i.e. no stretch). Identifying these three blocks with 101,102 and 103 of FIG. 1, one finds that Δt_(A)=64fs and Δf_(A)=fs/128 soΔt_(S)/Δt_(A)=½ and F=Δf_(S)/Δf_(A)=2. A design of specificconfiguration parameters for 602-Q_(φ) will be described separately foreach case Q_(φ)=2, 3, 4. For all cases, the analysis stride is chosen tobe h=1, and it is assumed that the normalized fundamental frequencyparameter p=Ω₀/Δf_(A)=128Ω₀/fs is known.

Consider first the case Q_(φ)=2. Then 602-2 has to perform a subbandstretch of S=2, a subband transposition of Q=1 (i.e. none) and thecorrespondence between source n and target subbands m is given by n=mfor the direct subband processing. In the inventive scenario of crossproduct addition, there is only one type of cross product to consider,namely r=1 (see above, after equation (15)), and the equations (20)reduce to T₁=T₂=1 and D₁+D₂=1. An exemplary solution consists ofchoosing D₁=0 and D₂=1. For the direct processing synthesis window, arectangular window of even length L=10 with R₁=R₂=5 may be used as itsatisfies the condition (10). For the cross processing synthesis window,a short L=2 tap window can be used, with R₁=R₂=1, in order to keep theadditional complexity of the cross products addition to a minimum. Afterall, the beneficial effect of using a long block for the subbandprocessing is most notable in the case of complex audio signals, whereunwanted intermodulation terms are suppressed; for the case of adominant pitch, such artifacts are less probable to occur. The L=2 tapwindow is the shortest one that can satisfy (10) since h=1 and S=2. Bythe present invention, however, the window advantageously satisfies(21). For the parameters at hand, this amounts to

$\begin{Bmatrix}{{\overset{\sim}{w}\left( {- 1} \right)} = {\overset{\sim}{w}(0)}} \\{{{\overset{\sim}{w}({??})} = {{w({??})}{\exp({\mathbb{i}\alpha??})}}},} \\{\alpha = {\pi\;{p/2}}}\end{Bmatrix},$

which is fulfilled by choosing w(0)=1 and w(−1)=exp(iα)=exp(iπp/2).

For the case Q_(φ)=3 the specifications for 602-3 given by (1)-(3) arethat it has to perform a subband stretch of S=2, a subband transpositionof Q=3/2 and that the correspondence between source n and target msubbands for the direct term processing is given by n≈2m/3. There aretwo types of cross product terms r=1, 2, and the equations (20) reduceto

$\begin{Bmatrix}{T_{1} = {3 - r}} \\{T_{2} = r} \\{{{\left( {3 - r} \right)D_{1}} + {rD}_{2}} = {3/2}}\end{Bmatrix}.$

An exemplary solution consists of choosing the downsampling parametersas

-   -   D₁=0 and D₂=3/2 for r=1;    -   D₁=3/2 and D₂=0 for r=2.

For the direct processing synthesis window, a rectangular window of evenlength L=8 with R₁=R₂=4 may be used. For the cross processing synthesiswindow, a short L=2 tap window can be used, with R₁=R₂=1, and satisfying

$\begin{Bmatrix}{{\overset{\sim}{w}\left( {- 1} \right)} = {\overset{\sim}{w}(0)}} \\{{{\overset{\sim}{w}({??})} = {{w({??})}{\exp({\mathbb{i}\alpha??})}}},} \\{\alpha = {\pi\; p\frac{r\left( {3 - r} \right)}{3}\left( {D_{2} - D_{1}} \right)}}\end{Bmatrix},$

which is fulfilled by choosing w(0)=1 and w(−1)=exp(iα).

For the case Q_(φ)=4, the specifications for 602-4 given by (1)-(3) arethat it has to perform a subband stretch of S=2, a subband transpositionof Q=2 and that the correspondence between source n and target subbandsm for the direct term processing is given is by n≈2m. There are threetypes of cross product terms r=1, 2, 3, and the equations (20) reduce to

$\begin{Bmatrix}{T_{1} = {4 - r}} \\{T_{2} = r} \\{{{\left( {4 - r} \right)D_{1}} + {rD}_{2}} = 2}\end{Bmatrix}.$

An exemplary solution consists of choosing

-   -   D₁=0 and D₂=2 for r=1;    -   D₁=0 and D₂=1 for r=2;    -   D₁=2 and D₂=0 for r=3;

For the direct processing synthesis window, a rectangular window of evenlength L=6 with R₁=R₂=3 may be used. For the cross processing synthesiswindow, a short L=2 tap window can be used, with R₁=R₂=1, and satisfying

$\begin{Bmatrix}{{\overset{\sim}{w}\left( {- 1} \right)} = {\overset{\sim}{w}(0)}} \\{{{\overset{\sim}{w}({??})} = {{w({??})}{\exp({\mathbb{i}\alpha??})}}},} \\{\alpha = {\pi\; p\frac{r\left( {4 - r} \right)}{4}\left( {D_{2} - D_{1}} \right)}}\end{Bmatrix},$

which is fulfilled by choosing w(0)=1 and w(−1)=exp(iα).

In each of the above cases where more than one r value is applicable, aselection will take place, e.g., similarly to the three-step proceduredescribed before equation (17).

FIG. 7 depicts the amplitude spectrum of a harmonic signal withfundamental frequency Ω₀=564.7 Hz. The low frequency part 701 of thesignal is to be used as input for a multiple transposer. The purpose ofthe transposer is to generate a signal as close as possible to the highfrequency part 702 of the input signal, so that transmission of thehigh-frequency part 702 becomes non-imperative and available bit ratecan be used economically.

FIG. 8 depicts the amplitude spectrum of outputs from a transposer whichhas the low frequency part 701 of the signal of FIG. 7 as input. Themultiple transposer is constructed by using 64 band QMF filter banks,input sampling frequency fs=14400 Hz, and in accordance with thedescription of FIG. 5. For clarity however, only the two transpositionorders Q_(φ)=2, 3 are considered. The three different panels 801-803represent the final output obtained by using different settings of thecross processing control data.

The top panel 801 depicts the output spectrum obtained if all crossproduct processing is canceled and only the direct subband processing401 is active. This will be the case if the cross processing control 404receives no pitch or p=0. Transposition by Q_(φ)=2 generates the outputin the range from 4 to 8 kHz and transposition by Q_(φ)=3 generates theoutput in the range from 8 to 12 kHz. As it can be seen, the createdpartials are increasingly far apart and the output deviatessignificantly from the target high frequency signal 702. Audible doubleand triple “ghost” pitch artifacts will be present in the resultingaudio output.

The middle panel 802 depicts the output spectrum obtained if crossproduct processing is active, the pitch parameter p=5 is used (which isan approximation to 128Ω₀/fs=5.0196), but a simple two tap synthesiswindow with w(0)=w(−1)=1, satisfying condition (10), is used for thecross subband processing. This amounts to a straightforward combinationof subband block based processing and cross-product enhanced harmonictransposition. As it can be seen, the additional output signalcomponents compared to 801 do not align well with the desired harmonicseries. This shows that it leads to insufficient audio quality to usethe procedure inherited from the design of direct subband processing forthe cross product processing.

The bottom panel 803 depicts the output spectrum obtained from the samescenario as for the middle panel 802, but now with the cross subbandprocessing synthesis windows given by the formulas described in thecases Q_(φ)=2, 3 of FIG. 5. That is, a two tap window of the form w(0)=1and w(−1)=exp(iα) satisfying (21) and with the feature taught by thepresent invention that it depends on the value of p. As it can be seen,the combined output signal aligns very well with the desired harmonicseries of 702.

FIG. 9 shows a portion of the non-linear processing frame processingunit 202 including sections configured to receive two input samples u₁,u₂ and to generate based on these a processed sample w, whose magnitudeis given by a geometric mean of the magnitudes of the input samples andwhose phase is a linear combination of the phases of the input samples,that is,

$\begin{matrix}\left\{ {\begin{matrix}{{w} = {{u_{1}}^{\rho}{u_{2}}^{1 - \rho}}} \\{{\arg\mspace{11mu} w} = {{T_{1}\mspace{11mu}\arg\mspace{11mu} u_{1}} + {T_{2}\;\arg\mspace{11mu} u_{2}}}}\end{matrix}.} \right. & (22)\end{matrix}$

It is possible to obtain the processed sample w according to thisspecification by pre-normalizing each of the input samples u₁, u₂ at arespective pre-normalizer 901, 902 and multiplying the pre-normalizedinput samples v₁=u₁/|u₁|^(a), v₂=u₂/|u₂|^(b) at a weighted multiplier910, which outputs w=v₁ ^(α)v₂ ^(β). Clearly, the operation of thepre-normalizers 901, 902 and the weighted multiplier 910 is determinedby input parameters a, b, α and β. It is easy to verify that equations(22) will be fulfilled if α=T₁, β=T₂, a=1−ρ/T₁, b=1−(1−ρ)/T₂. Theskilled person will readily be able to generalize this layout to anarbitrary number N₀ of input samples, wherein a multiplier is suppliedwith N₀ input samples, of which some or all have undergonepre-normalization. One observes, then, that a common pre-normalization(a=b, implying that the pre-normalizers 901, 902 produce identicalresults) is possible if the parameter ρ is set to ρ=T₁/(T₁+T₂). Thisresults in a computational advantage when many subbands are considered,since a common pre-normalization step can be effected on all candidatesubbands prior to the multiplication. In an advantageous hardwareimplementation, a plurality of identically functioning pre-normalizersis replaced by a single unit which alternates between samples fromdifferent subbands in a time-division fashion.

Further embodiments of the present invention will become apparent to aperson skilled in the art after reading the description above. Eventhough the present description and drawings disclose embodiments andexamples, the invention is not restricted to these specific examples.Numerous modifications and variations can be made without departing fromthe scope of the present invention, which is defined by the accompanyingclaims.

The systems and methods disclosed hereinabove may be implemented assoftware, firmware, hardware or a combination thereof. Certaincomponents or all components may be implemented as software executed bya digital signal processor or microprocessor, or be implemented ashardware or as an application-specific integrated circuit. Such softwaremay be distributed on computer readable media, which may comprisecomputer storage media (or non-transitory media) and communication media(or transitory media). As is well known to a person skilled in the art,computer storage media includes both volatile and nonvolatile, removableand non-removable media implemented in any method or technology forstorage of information such as computer readable instructions, datastructures, program modules or other data. Computer storage mediaincludes, but is not limited to, RAM, ROM, EEPROM, flash memory or othermemory technology, CD-ROM, digital versatile disks (DVD) or otheroptical disk storage, magnetic cassettes, magnetic tape, magnetic diskstorage or other magnetic storage devices, or any other medium which canbe used to store the desired information and which can be accessed by acomputer. Further, it is well known to the skilled person thatcommunication media typically embodies computer readable instructions,data structures, program modules or other data in a modulated datasignal such as a carrier wave or other transport mechanism and includesany information delivery media.

What is claimed is:
 1. A system configured to generate a time stretched and/or frequency transposed signal from an input signal, the system comprising: an analysis filter bank configured to derive a number Y≧1 of analysis subband signals from the input signal, wherein each analysis subband signal comprises a plurality of complex-valued analysis samples, each having a phase and a magnitude; a subband processing unit configured to generate a synthesis subband signal from the Y analysis subband signals using a subband transposition factor Q and a subband stretch factor S, at least one of Q and S being greater than one, wherein the subband processing unit comprises: a block extractor configured to: i) form Y frames of L input samples, each frame being extracted from said plurality of complex-valued analysis samples in an analysis subband signal and the frame length being L>1; and ii) apply a block hop size of h samples to said plurality of analysis samples, prior to forming a subsequent frame of L input samples, thereby generating a sequence of frames of input samples; a nonlinear frame processing unit configured to generate, on the basis of Y corresponding frames of input samples formed by the block extractor, a frame of processed samples by determining a phase and magnitude for each processed sample of the frame, wherein, for at least one processed sample: i) the phase of the processed sample is based on a linear combination, with non-negative integer coefficients, of respective phases of the corresponding input sample in a first and second frame of the Y frames of input samples; and ii) the magnitude of the processed sample is based on the magnitude of the corresponding input sample in each of the Y frames of input samples; and an overlap and add unit configured to determine the synthesis subband signal by overlapping and adding the samples of a sequence of frames of processed samples; and a synthesis filter bank configured to generate the time stretched and/or frequency transposed signal from the synthesis subband signal, wherein the system is operable at least for Y=2.
 2. The system of claim 1, wherein the analysis filter bank is one of a quadrature mirror filter bank, a windowed discrete Fourier transform or a wavelet transform; and the synthesis filter bank is a corresponding inverse filter bank or transform.
 3. The system of claim 1, wherein: the analysis filter bank applies an analysis time stride Δt_(A) to the input signal; the analysis filter bank has an analysis frequency spacing Δf_(A); the analysis filter bank has a number N of analysis subbands, with N>1, where n is an analysis subband index with n=0, . . . , N−1; an analysis subband of the N analysis subbands is associated with a frequency band of the input signal; the synthesis filter bank applies a synthesis time stride Δt_(S) to the synthesis subband signal; the synthesis filter bank has a synthesis frequency spacing Δf_(S); the synthesis filter bank has a number M of synthesis subbands, with M>1, where m is a synthesis subband index with m=0, . . . , M−1; and a synthesis subband of the M synthesis subbands is associated with a frequency band of the time stretched and/or frequency transposed signal, wherein the subband processing unit is configured for Y=2 and further comprises a cross processing control unit configured to generate cross processing control data defining subband indices n₁, n₂ associated with the analysis subband signals in such manner that the subband indices differ by an integer p approximating the ratio of a fundamental frequency Ω₀ of the input signal and the analysis frequency spacing Δf_(A).
 4. The system of claim 3, wherein the subband indices n₁, n₂ are associated with the analysis subband signals and the synthesis subband index m, which subband indices are related by being approximate integer solutions of $\begin{Bmatrix} {{m + \sigma} = \frac{{Q_{\varphi}\Omega} + {r\;\Omega_{0}}}{\Delta\; f_{S}}} \\ {{n_{1} + \sigma} = \frac{\Omega}{\Delta\; f_{A}}} \\ {{n_{2} + \sigma} = \frac{\Omega + \Omega_{0}}{\Delta\; f_{A}}} \end{Bmatrix},$ where Ω₀ is a fundamental frequency of the input signal, ${\sigma = {0\mspace{14mu}{or}\mspace{14mu}{1/2}}},{Q = {\frac{\Delta\; t_{S}}{\Delta\; t_{A}}Q_{\varphi}}},$ Q_(φ) is a transposition factor, and r is an integer satisfying 1≦r≦Q_(φ)−1.
 5. The system of claim 4, wherein the cross processing control unit is configured to generate processing control data such that the subband indices n₁, n₂ are based on a value of r which maximizes the minimum of the subband magnitudes of the two frames formed by extracting analysis samples from analysis subband signals.
 6. The system of claim 1, wherein the subband processing unit further comprises a windowing unit upstream of the overlap and add unit and configured to apply a window function of a length which corresponds to the frame length L to the frame of processed samples, and wherein optionally the window function is one of a: Gaussian window, cosine window, raised cosine window, Hamming window, Hann window, rectangular window, Bartlett window, and Blackman window.
 7. The system of claim 6, wherein the window function comprises a plurality of window samples, and wherein overlapped and added window samples of a plurality of window functions, when weighted by complex weights and shifted with a hop size of Sh, form a substantially constant sequence.
 8. The system of claim 1, operable at least for Y=1 and Y=2.
 9. The system of claim 1, wherein the phase of the processed sample corresponds to said linear combination of phases plus a phase correction parameter θ.
 10. The system of claim 1, further comprising a control data reception unit configured to receive control data, wherein the subband processing unit is configured to determine the synthesis subband signal by taking into account the control data.
 11. The system of claim 10 configured for Y=2, said control data including a fundamental frequency Ω₀ of the input signal, wherein the subband processing unit is configured to determine the analysis subbands, from which the processed samples are to be derived, in such manner that their frequency spacing is proportional to the fundamental frequency.
 12. The system of claim 1, wherein the non-linear processing unit comprises: a pre-normalizer configured to rescale the magnitudes of the corresponding input samples in at least one of the Y frames of input samples (v_(m)=u_(m)/|u_(m)|^(β) ^(m) ); and a complex multiplier configured to determine the processed sample by computing a weighted complex product $\left( {\prod\limits_{n \in N}\;{u_{n}^{\gamma_{n}}{\prod\limits_{m \in M}\; v_{m}^{\gamma_{m}}}}} \right)$  of factors equal to the corresponding input sample in at least two of the Y frames of input samples, at least one of the factors (v_(m), mεM≠Ø) being derived from a sample with a magnitude rescaled by the pre-normalizer.
 13. The system of claim 1 configured for Y=2, comprising: an analysis filter bank configured to derive a first and a second analysis subband signal from the input signal; a subband processing unit configured to determine a synthesis subband signal from the first and second analysis subband signals, wherein the subband processing unit comprises: a first block extractor configured to: i) form a first frame of L input samples from said plurality of complex-valued analysis samples in the first analysis subband signal, the frame length being L>1; and ii) apply a block hop size of h samples to said plurality of analysis samples, prior to forming a subsequent frame of L input samples, thereby generating a first sequence of frames of input samples; a second block extractor configured to: i) form a second frame of L input samples from said plurality of complex-valued analysis samples in the second analysis subband signal; and ii) apply the block hop size of h samples to said plurality of analysis samples, prior to forming a subsequent frame of L input samples, thereby generating a second sequence of frames of input samples; a nonlinear frame processing unit configured to generate, on the basis of the first and second frames of input samples, a frame of processed samples; and an overlap and add unit configured to form the synthesis subband signal; and a synthesis filter bank configured to generate the time stretched and/or frequency transposed signal from the synthesis subband signal.
 14. The system of claim 1, further comprising: a plurality of subband processing units, each configured to determine an intermediate synthesis subband signal using a different value of the subband transposition factor Q and/or of the subband stretch factor S; and a merging unit arranged downstream of said plurality of subband processing units and upstream of the synthesis filter bank configured to merge corresponding intermediate synthesis subband signals in order to determine the synthesis subband signal.
 15. The system of claim 14 configured for Y=2, wherein at least one of the subband processing units is a direct subband processing unit, which is configured to determine one synthesis subband signal from one analysis subband signal using a subband transposition factor Q and a subband stretch factor S, and at least one is a cross subband processing unit, which is configured to determine one synthesis subband signal from two analysis subband signals using a subband transposition factor Q and a subband stretch factor S, which are independent of the first two factors, said system being configured to deactivate at least one cross subband processing unit if, for a given synthesis subband, one of the following conditions is satisfied: a) the ratio of the magnitude M_(S) of the direct source term analysis subband yielding the synthesis subband and the least magnitude M_(C) in an optimal pair of cross source terms yielding the synthesis subband is greater than a predetermined constant q; b) the synthesis subband has a significant contribution from a direct processing unit; c) a fundamental frequency Ω₀ is smaller than the analysis filter bank spacing Δf_(A).
 16. The system of claim 1, wherein: the analysis filter bank is configured to form Y×Z analysis subband signals from the input signal; the subband processing unit is configured to generate Z synthesis subband signals from the Y×Z analysis subband signals, applying a pair of S and Q values for each group of Y analysis subband signals on which one synthesis subband signal is based; and the synthesis filter bank is configured to generate Z time stretched and/or frequency transposed signals from the Z synthesis subband signals.
 17. A method for generating a time stretched and/or frequency transposed signal from an input signal, the method comprising: deriving a number Y>2 of analysis subband signals from the input signal, wherein each analysis subband signal comprises a plurality of complex-valued analysis samples, each having a phase and a magnitude; forming Y frames of L input samples, each frame being extracted from said plurality of complex-valued analysis samples in an analysis subband signal and the frame length being L>1; applying a block hop size of h samples to said plurality of analysis samples, prior to deriving a subsequent frame of L input samples, thereby generating a sequence of frames of input samples; generating, on the basis of Y corresponding frames of input samples, a frame of processed samples by determining a phase and a magnitude for each processed sample of the frame, wherein, for at least one processed sample: i) the phase of the processed sample is based on a linear combination, with non-negative integer coefficients, of respective phases of the corresponding input sample in a first and second frame of the Y frames of input samples; and ii) the magnitude of the processed sample is based on the magnitude of the corresponding input sample in each of the Y frames of input samples; determining the synthesis subband signal by overlapping and adding the samples of a sequence of frames of processed samples; and generating the time stretched and/or frequency transposed signal from the synthesis subband signal.
 18. A non-transitory data carrier storing computer-readable instructions for performing the method set forth in claim
 17. 